IFFT
- class mindradar.IFFT(n=-1, dim=-1, norm='backward')
傅里叶变换IFFT。计算表达式为:
\[X[\omega_1, \dots, \omega_d] = \frac{1}{\prod_{i=1}^d N_i} \sum_{n_1=0}^{N_1-1} \dots \sum_{n_d=0}^{N_d-1} x[n_1, \dots, n_d] e^{\ j\ 2 \pi \sum_{i=0}^d \frac{\omega_i n_i}{N_i}},\]其中, \(d\) = signal_ndim 是信号的维度,\(N_i\) 则是信号第 \(i\) 个维度的大小。
- 参数:
n (int,可选) - 输出转换轴的长度。如果n小于输入的长度,则裁剪输入。如果它更大,则输入将填充零。如果未给出n,则使用沿轴指定的轴的输入长度。默认值:
-1。dim (int,可选) - 计算FFT的轴。如果没有给出,则使用最后一个轴。默认值:
-1。norm (str,可选) - 表示该操作的规范化方式,可选值:[
"backward","forward","ortho"]。默认值:"backward"。"backward",正向变换不缩放,逆变换按 \(1/n\) 缩放,其中 n 表示输入 x 的元素数量。
"ortho",正向变换与逆变换均按 \(1/\sqrt n\) 缩放。
"forward",正向变换按 \(1/n\) 缩放,逆变换不缩放。
- 输入:
x (Tensor) - 输入Tensor的维数必须大于或等于 dim 。数据类型应为复数。
- 输出:
Tensor,表示复数到复数傅里叶变换IFFT的结果。
- 支持平台:
CPU
备注
IFFT要求complex64或complex128类型的输入,返回complex64或complex128类型的输出。
示例:
1import mindspore as ms 2import mindradar as mr 3import numpy as np 4 5x = np.exp(3j * np.pi * np.arange(10) / 10).reshape(2, 5).astype(np.complex64) 6x_tensor = ms.Tensor(x) 7ifft = mr.IFFT() 8out = ifft(x_tensor) 9print(out)